package com.sunyy.codegenerator.service;


import com.mybatisflex.core.service.IService;
import com.sunyy.codegenerator.dto.templateFileInfo.ListFileByGroupIdDto;
import com.sunyy.codegenerator.dto.templateFileInfo.SaveTemplateDto;
import com.sunyy.codegenerator.dto.templateFileInfo.UploadTemplateFilesDto;
import com.sunyy.codegenerator.entity.TemplateFileInfo;
import com.sunyy.codegenerator.vo.TreeNode;

import java.util.List;

/**
 * @author 60382
 * @description 针对表【template_file_info(模板文件信息)】的数据库操作Service
 * @createDate 2025-07-19 10:52:04
 */
public interface TemplateFileInfoService extends IService<TemplateFileInfo> {

    /**
     * 保存分组中的模板
     *
     * @param dto
     */
    void saveTemplate(SaveTemplateDto dto);

    /**
     * 根据id删除分组内的模板文件
     *
     * @param id
     */
    void deleteTemplate(String id);

    /**
     * 上传模板文件到分组
     *
     * @param dto
     */
    void uploadTemplateFiles(UploadTemplateFilesDto dto);

    /**
     * 获取分组下的文件树
     *
     * @param dto
     * @return
     */
    List<TreeNode> listFileTreeByGroupId(ListFileByGroupIdDto dto);

    /**
     * 获取模板文件的内容
     *
     * @param id 模板文件id
     * @return
     */
    SaveTemplateDto getFileContentById(Long id);
}
